草庐IT

java - BlackBerry 线程模型

全部标签

ruby - 如何从 Ruby 中的线程返回值?

如果我有以下代码:threads=[](1..5).eachdo|i|threads我必须做什么才能获得进程命令的输出?我如何创建自定义线程才能完成此任务? 最佳答案 脚本threads=[](1..5).eachdo|i|threads说明了如何完成您的需要。它的好处是将输出与生成它的线程保持在一起,因此您可以随时加入并获取每个线程的输出。运行时,脚本打印Hifromthread#1Hifromthread#2Hifromthread#3Hifromthread#4Hifromthread#5

ruby - 创建一个线程安全的临时文件名

当使用Tempfile时,Ruby正在创建一个具有线程安全和进程间安全名称的文件。这样我只需要一个文件名。我想知道是否有比以下更直接的方法:t=Tempfile.new(['fleischwurst','.png'])temp_path=t.patht.closet.unlink 最佳答案 Dir::Tmpname.create您可以使用Dir::Tmpname.create。它找出要使用的临时目录(除非您向它传递一个目录)。考虑到它需要一个block,使用起来有点难看:require'tmpdir'#=>trueDir::Tmpn

ruby - 没有表格的 Rails 模型

我想为让我们说颜色创建一个选择列表,但不想为颜色创建一个表。我在任何地方都见过它,但无法在谷歌上找到它。我的问题是:如何在没有数据库表的情况下将颜色放入模型中?或者是否有更好的Rails方法来做到这一点?我看到有人直接在模型中放了一个数组或者散列,但是现在找不到了。 最佳答案 classModelincludeActiveModel::ValidationsincludeActiveModel::ConversionextendActiveModel::Namingattr_accessor:whatevervalidates:wh

ruby-on-rails - 从 ActiveRecord 模型集合构建散列

我正在尝试从模型构建哈希。这是我要构建的哈希类型。{"UnitedSates"=>"us","UnitedKingdom"=>"uk".....}我已经尝试了很多方法,现在我只是在兜圈子。这只是我的一些糟糕尝试。select=Array.newcountries.eachdo|country|#select.push({country.name=>country.code})#select[country.name][country.code]endh={}countries.eachdo|c|#h[]={c.name=>c.code}#h[]||={}#h[][:name]=c.na

ruby - 处理在 Ruby 线程中引发的异常

我正在寻找异常处理经典问题的解决方案。考虑以下代码:deffoo(n)puts"for#{n}"sleepnraise"after#{n}"endbeginthreads=[][5,15,20,3].eachdo|i|threadseputs"EXCEPTION:#{e.inspect}"puts"MESSAGE:#{e.message}"end此代码在5秒后捕获异常。但是如果我将数组更改为[15,5,20,3],上面的代码会在15秒后捕获异常。简而言之,它总是捕获第一个线程中引发的异常。任何想法,为什么会这样。为什么每次3秒后不捕获异常?我如何捕获任何线程引发的第一个异常?

ruby-on-rails - 将模型划分到目录中是个坏主意吗?

我的Rails应用程序中有100多个模型,只是为了组织,我将它们分成文件夹,所有这些仍然在主模型文件夹下,只是为了更容易在项目中导航和查看文件相关。这是个坏主意吗?rails的方法是什么? 最佳答案 不,这不是个坏主意。很多人都这样做,在大型应用程序中我离不开它。有两种方法:首先是移动模型。但是,您必须告诉Rails加载任意模型(因为它不知道它们在哪里)。像这样的东西应该可以解决问题:#Inconfig/application.rbmoduleYourAppclassApplication第一种方法很简单,但并不是最好的方法。第二种

ruby-on-rails - 从 Rails 模型内部访问翻译文件 (i18n)

我的模型中有:defbody_color_enum[['Aqua','#009c9c'],['Grey','#6d6e71'],['Yellow','#ffe600'],['White','white']]end我希望这些值来自翻译文件“en.yml”en:group:hero:hex1:'#6d6e71'name1:'Darkgrey'hex2:'#ccc'name2:'Lightgrey'hex3:'#0099ce'name3:'Blue'hex4:'#ffffff'name4:'White'我试过这个:defbody_color_enum[[t('group.hero.name1

ruby-on-rails - 使用 `ActiveRecord with_connection do` 和 ActionController::Live 时出现线程错误

主要编辑:自从最初发现此问题后,我已将其缩减为以下内容。我认为现在这是对问题的略微更精确的描述。因此,对OP的评论可能并不完全相关。编辑在rails/puma项目中发布的轻微修改版本:https://github.com/rails/rails/issues/21209,https://github.com/puma/puma/issues/758编辑现在用OSX和Rainbows复制总结:当使用Puma并运行长时间运行的连接时,我一直收到与跨线程的ActiveRecord连接相关的错误。这在消息中表现出来,例如消息类型0x##空闲时从服务器到达和锁定(崩溃)的服务器。设置:Ubunt

ruby-on-rails - 处理命名空间中的命名空间模型(类)

我正在使用RubyonRails3,我想在命名空间中处理模型(类)命名空间。也就是说,如果我有一个名为NS1的命名空间和一个名为NS2的命名空间的“子命名空间”,我想在中处理模型(类)NS2。如果我运行一个脚手架railsgeneratescaffoldns1/ns2/Articleid:integertitle:string它将生成以下模型文件:models/ns1/ns2/article.rbfilemodels/ns1/articles.rbmodels/ns1/articles.rb包含:moduleNs1::Articlesdefself.table_name_prefix'

ruby-on-rails - rails 中的单元测试 - 带回形针的模型

我正在尝试使用回形针为带有图片的模型编写测试。我使用的是默认测试框架,没有shoulda或rspec。在这种情况下,我应该如何测试呢?我真的应该上传文件吗?我应该如何将文件添加到夹具? 最佳答案 将文件添加到模型非常简单。例如:@post=Post.new@post.attachment=File.new("test/fixtures/sample_file.png")#Replaceattachment=withthenameofyourpaperclipattachment在那种情况下,您应该将文件放入您的test/fixtur